﻿namespace CKQDJK {
	using System;
	using SuperORM.Attributes;
	using System.ComponentModel;
	
	
	/// <summary>分期价款表</summary>
	[Object("分期价款表", "CKQDJK", "分期价款表")]
	[Browsable(true)]
	[DisplayName("分期价款表")]
	[ReadOnly(false)]
	[Serializable()]
	public class 分期价款表 : SuperORM.BusinessObject {
		
		/// <summary>内部变量：CK_GUID</summary>
		private string m_CK_GUID;
		
		/// <summary>标示属性CK_GUID是否为空的字段。</summary>
		private bool m_IsCK_GUIDNull = true;
		
		/// <summary>内部变量：关联号</summary>
		private string m_关联号;
		
		/// <summary>标示属性关联号是否为空的字段。</summary>
		private bool m_Is关联号Null = true;
		
		/// <summary>内部变量：许可证号</summary>
		private string m_许可证号;
		
		/// <summary>标示属性许可证号是否为空的字段。</summary>
		private bool m_Is许可证号Null = true;
		
		/// <summary>内部变量：签发时间</summary>
		private System.DateTime m_签发时间;
		
		/// <summary>标示属性签发时间是否为空的字段。</summary>
		private bool m_Is签发时间Null = true;
		
		/// <summary>内部变量：项目档案号</summary>
		private string m_项目档案号;
		
		/// <summary>标示属性项目档案号是否为空的字段。</summary>
		private bool m_Is项目档案号Null = true;
		
		/// <summary>内部变量：期数</summary>
		private int m_期数;
		
		/// <summary>标示属性期数是否为空的字段。</summary>
		private bool m_Is期数Null = true;
		
		/// <summary>内部变量：计划时间</summary>
		private System.DateTime m_计划时间;
		
		/// <summary>标示属性计划时间是否为空的字段。</summary>
		private bool m_Is计划时间Null = true;
		
		/// <summary>内部变量：计划金额</summary>
		private double m_计划金额;
		
		/// <summary>标示属性计划金额是否为空的字段。</summary>
		private bool m_Is计划金额Null = true;
		
		/// <summary>内部变量：实缴金额</summary>
		private double m_实缴金额;
		
		/// <summary>标示属性实缴金额是否为空的字段。</summary>
		private bool m_Is实缴金额Null = true;
		
		/// <summary>内部变量：缴纳日期</summary>
		private System.DateTime m_缴纳日期;
		
		/// <summary>标示属性缴纳日期是否为空的字段。</summary>
		private bool m_Is缴纳日期Null = true;
		
		/// <summary>内部变量：减免金额</summary>
		private double m_减免金额;
		
		/// <summary>标示属性减免金额是否为空的字段。</summary>
		private bool m_Is减免金额Null = true;
		
		/// <summary>内部变量：滞纳金</summary>
		private double m_滞纳金;
		
		/// <summary>标示属性滞纳金是否为空的字段。</summary>
		private bool m_Is滞纳金Null = true;
		
		/// <summary>内部变量：资金占用费</summary>
		private double m_资金占用费;
		
		/// <summary>标示属性资金占用费是否为空的字段。</summary>
		private bool m_Is资金占用费Null = true;
		
		/// <summary>内部变量：BSM</summary>
		private int m_BSM;
		
		/// <summary>标示属性BSM是否为空的字段。</summary>
		private bool m_IsBSMNull = true;
		
		public static string TypeID = "CKQDJK.分期价款表";
		
		/// <summary>属性CK_GUID</summary>
		[Member("CK_GUID", "CK_GUID", "System.String", 80, false, false, "CK_GUID")]
		[Browsable(true)]
		[DisplayName("CK_GUID")]
		[ReadOnly(false)]
		public string CK_GUID {
			get {
				return this.m_CK_GUID;
			}
			set {
				this.m_CK_GUID = value;
				this.m_IsCK_GUIDNull = false;
			}
		}
		
		/// <summary>属性关联号</summary>
		[Member("关联号", "关联号", "System.String", 80, false, false, "关联号")]
		[Browsable(true)]
		[DisplayName("关联号")]
		[ReadOnly(false)]
		public string 关联号 {
			get {
				return this.m_关联号;
			}
			set {
				this.m_关联号 = value;
				this.m_Is关联号Null = false;
			}
		}
		
		/// <summary>属性许可证号</summary>
		[Member("许可证号", "许可证号", "System.String", 50, false, false, "许可证号")]
		[Browsable(true)]
		[DisplayName("许可证号")]
		[ReadOnly(false)]
		public string 许可证号 {
			get {
				return this.m_许可证号;
			}
			set {
				this.m_许可证号 = value;
				this.m_Is许可证号Null = false;
			}
		}
		
		/// <summary>属性签发时间</summary>
		[Member("签发时间", "签发时间", "System.DateTime", 8, false, false, "签发时间")]
		[Browsable(true)]
		[DisplayName("签发时间")]
		[ReadOnly(false)]
		public System.DateTime 签发时间 {
			get {
				return this.m_签发时间;
			}
			set {
				this.m_签发时间 = value;
				this.m_Is签发时间Null = false;
			}
		}
		
		/// <summary>属性项目档案号</summary>
		[Member("项目档案号", "项目档案号", "System.String", 50, false, false, "项目档案号")]
		[Browsable(true)]
		[DisplayName("项目档案号")]
		[ReadOnly(false)]
		public string 项目档案号 {
			get {
				return this.m_项目档案号;
			}
			set {
				this.m_项目档案号 = value;
				this.m_Is项目档案号Null = false;
			}
		}
		
		/// <summary>属性期数</summary>
		[Member("期数", "期数", "System.Int32", 4, false, false, "期数")]
		[Browsable(true)]
		[DisplayName("期数")]
		[ReadOnly(false)]
		public int 期数 {
			get {
				return this.m_期数;
			}
			set {
				this.m_期数 = value;
				this.m_Is期数Null = false;
			}
		}
		
		/// <summary>属性计划时间</summary>
		[Member("计划时间", "计划时间", "System.DateTime", 8, false, false, "计划时间")]
		[Browsable(true)]
		[DisplayName("计划时间")]
		[ReadOnly(false)]
		public System.DateTime 计划时间 {
			get {
				return this.m_计划时间;
			}
			set {
				this.m_计划时间 = value;
				this.m_Is计划时间Null = false;
			}
		}
		
		/// <summary>属性计划金额</summary>
		[Member("计划金额", "计划金额", "System.Double", 8, false, false, "计划金额")]
		[Browsable(true)]
		[DisplayName("计划金额")]
		[ReadOnly(false)]
		public double 计划金额 {
			get {
				return this.m_计划金额;
			}
			set {
				this.m_计划金额 = value;
				this.m_Is计划金额Null = false;
			}
		}
		
		/// <summary>属性实缴金额</summary>
		[Member("实缴金额", "实缴金额", "System.Double", 8, false, false, "实缴金额")]
		[Browsable(true)]
		[DisplayName("实缴金额")]
		[ReadOnly(false)]
		public double 实缴金额 {
			get {
				return this.m_实缴金额;
			}
			set {
				this.m_实缴金额 = value;
				this.m_Is实缴金额Null = false;
			}
		}
		
		/// <summary>属性缴纳日期</summary>
		[Member("缴纳日期", "缴纳日期", "System.DateTime", 8, false, false, "缴纳日期")]
		[Browsable(true)]
		[DisplayName("缴纳日期")]
		[ReadOnly(false)]
		public System.DateTime 缴纳日期 {
			get {
				return this.m_缴纳日期;
			}
			set {
				this.m_缴纳日期 = value;
				this.m_Is缴纳日期Null = false;
			}
		}
		
		/// <summary>属性减免金额</summary>
		[Member("减免金额", "减免金额", "System.Double", 8, false, false, "减免金额")]
		[Browsable(true)]
		[DisplayName("减免金额")]
		[ReadOnly(false)]
		public double 减免金额 {
			get {
				return this.m_减免金额;
			}
			set {
				this.m_减免金额 = value;
				this.m_Is减免金额Null = false;
			}
		}
		
		/// <summary>属性滞纳金</summary>
		[Member("滞纳金", "滞纳金", "System.Double", 8, false, false, "滞纳金")]
		[Browsable(true)]
		[DisplayName("滞纳金")]
		[ReadOnly(false)]
		public double 滞纳金 {
			get {
				return this.m_滞纳金;
			}
			set {
				this.m_滞纳金 = value;
				this.m_Is滞纳金Null = false;
			}
		}
		
		/// <summary>属性资金占用费</summary>
		[Member("资金占用费", "资金占用费", "System.Double", 8, false, false, "资金占用费")]
		[Browsable(true)]
		[DisplayName("资金占用费")]
		[ReadOnly(false)]
		public double 资金占用费 {
			get {
				return this.m_资金占用费;
			}
			set {
				this.m_资金占用费 = value;
				this.m_Is资金占用费Null = false;
			}
		}
		
		/// <summary>属性BSM</summary>
		[Member("BSM", "BSM", true, true, "BSM")]
		[Browsable(true)]
		[DisplayName("BSM")]
		[ReadOnly(false)]
		public int BSM {
			get {
				return this.m_BSM;
			}
			set {
				this.m_BSM = value;
				this.m_IsBSMNull = false;
				if ((this.OnOIDChanged != null)) {
					this.OnOIDChanged(this, null);
				}
			}
		}
		
		/// <summary>对象ID发生变化的时候触发的事件</summary>
		public event SuperORM.Attributes.OIDChangedHandler OnOIDChanged;
		
		/// <summary>属性改变的时候</summary>
		public event SuperORM.PropertyChangeHandler PropertyChanged;
		
		// 重载的方法，判断两个对象是否相等，判断条件是两个对象的主键值是否相等。
		public override bool Equals(object obj) {
			分期价款表 分期价款表 = ((分期价款表)(obj));
			if ((分期价款表.BSM == this.m_BSM)) {
				return true;
			}
			else {
				return false;
			}
		}
		
		/// <summary>判断某一个属性是否为空</summary>
		public override bool IsNull(string propname) {
			if (propname.Equals("CK_GUID")) {
				return this.m_IsCK_GUIDNull;
			}
			if (propname.Equals("关联号")) {
				return this.m_Is关联号Null;
			}
			if (propname.Equals("许可证号")) {
				return this.m_Is许可证号Null;
			}
			if (propname.Equals("签发时间")) {
				return this.m_Is签发时间Null;
			}
			if (propname.Equals("项目档案号")) {
				return this.m_Is项目档案号Null;
			}
			if (propname.Equals("期数")) {
				return this.m_Is期数Null;
			}
			if (propname.Equals("计划时间")) {
				return this.m_Is计划时间Null;
			}
			if (propname.Equals("计划金额")) {
				return this.m_Is计划金额Null;
			}
			if (propname.Equals("实缴金额")) {
				return this.m_Is实缴金额Null;
			}
			if (propname.Equals("缴纳日期")) {
				return this.m_Is缴纳日期Null;
			}
			if (propname.Equals("减免金额")) {
				return this.m_Is减免金额Null;
			}
			if (propname.Equals("滞纳金")) {
				return this.m_Is滞纳金Null;
			}
			if (propname.Equals("资金占用费")) {
				return this.m_Is资金占用费Null;
			}
			if (propname.Equals("BSM")) {
				return this.m_IsBSMNull;
			}
			return true;
		}
		
		/// <summary>将某个属性设置为空</summary>
		public override void SetNull(string propname) {
			if (propname.Equals("CK_GUID")) {
				this.m_IsCK_GUIDNull = true;
				return;
			}
			if (propname.Equals("关联号")) {
				this.m_Is关联号Null = true;
				return;
			}
			if (propname.Equals("许可证号")) {
				this.m_Is许可证号Null = true;
				return;
			}
			if (propname.Equals("签发时间")) {
				this.m_Is签发时间Null = true;
				return;
			}
			if (propname.Equals("项目档案号")) {
				this.m_Is项目档案号Null = true;
				return;
			}
			if (propname.Equals("期数")) {
				this.m_Is期数Null = true;
				return;
			}
			if (propname.Equals("计划时间")) {
				this.m_Is计划时间Null = true;
				return;
			}
			if (propname.Equals("计划金额")) {
				this.m_Is计划金额Null = true;
				return;
			}
			if (propname.Equals("实缴金额")) {
				this.m_Is实缴金额Null = true;
				return;
			}
			if (propname.Equals("缴纳日期")) {
				this.m_Is缴纳日期Null = true;
				return;
			}
			if (propname.Equals("减免金额")) {
				this.m_Is减免金额Null = true;
				return;
			}
			if (propname.Equals("滞纳金")) {
				this.m_Is滞纳金Null = true;
				return;
			}
			if (propname.Equals("资金占用费")) {
				this.m_Is资金占用费Null = true;
				return;
			}
			if (propname.Equals("BSM")) {
				this.m_IsBSMNull = true;
				return;
			}
		}
	}
}
